package com.spsa.utilidades;

import java.io.File;
import java.util.Date;

import com.spsa.persistencia.entidades.EstadoInterfaz;

public class UtilArchivos {

	public static EstadoInterfaz verificarEstadoInterface(String rutaCarpeta,
			String patronNombre) {
		File carpeta = new File(rutaCarpeta);
		String[] nombreArchivos = carpeta.list();

		int cantidadArchivos = 0;
		int correlativo;
		int maximoCorrelativo = 0;

		for (int i = 0; i < nombreArchivos.length; i++) {
			correlativo = UtilBuscadorArchivos.obtenerCorrelativo(patronNombre,
					nombreArchivos[i]);

			if (correlativo == 0)
				continue;
			else {
				cantidadArchivos++;
				if (correlativo > maximoCorrelativo)
					maximoCorrelativo = correlativo;
			}
		}

		EstadoInterfaz estadoInterface = new EstadoInterfaz();
		estadoInterface.setCantidadArchivos(cantidadArchivos);

		if (cantidadArchivos < maximoCorrelativo)
			estadoInterface.setCondicion(1);
		else
			estadoInterface.setCondicion(2);

		return estadoInterface;
	}

	public static File[] obtenerArchivos(String rutaCarpeta) {
		File carpeta = new File(rutaCarpeta);
		File[] archivos = carpeta.listFiles();
		
		if(archivos == null)
			return new File[0];
		return archivos;
	}

	public static Date obtenerFechaUltimaModificacion(File archivo) {
		Date fecha = null;

		try {
			long ms = archivo.lastModified();
			fecha = new Date(ms);
		} catch (Exception e) {
			e.printStackTrace();
			return fecha;
		}
		return fecha;
	}

	public static String[] obtenerNombreArchivos(String rutaCarpeta) {
		File carpeta = new File(rutaCarpeta);
		String[] nombreArchivos = carpeta.list();
		return nombreArchivos;
	}
}
